PEKARE

 

I grafikbiblioteket Allegro används pekare till olika objekt, bilder och ljud t.ex.

Så innan vi tar oss an Allegro måste vi bekanta oss med

Pekare.

 

Hur hittar du adressen till en variabel?        

Svar: Använd operatorn &.

&Henrik ger adressen till variabeln Henrik.

 

Övning:

Skapa variabelerna: int Hoss,  little_Joe ,  Pappa_Ben,  Adam,  och double bonanza.

Kontrollera vilka minnesplatser de får.

Omvandla den hexadecimala noteringen till decimal (använd kalkylatorn i windows).

Hur stor plats tar var och en av variablerna?

Tar någon större plats än någon annan?

 

Vi har definierat variabler av olika slag: int, char, double m.fl. 

Vid deklarationen av aktuell variabel har vi angett datatyp namn och ev. värdet  på variabeln.

Namnet på variabeln har representerat ett värde.

Det finns ett annat sätt att göra detta, genom att använda en speciell typ av variabel, en pekare.

 

En pekare lagrar adressen till värdet.

Pekarens namn representerar alltså platsen i ramminnet.

Med operatorn * hämtas det indirekta värdet från platsen.

Om Johan är en pekare till ett int-värde, representerar Johan en adress

och *Johan det int-värde som finns på adressen.

 

 

#include <iostream>

#include <stdlib>

/***************************

pekar aritmetik

***************************/

 

int main()

{

int johanna=6;                                             //deklarera och initiera en variabel

int *p_johanna;                     //pekare till johanna (int-pekare, datatyp måste anges)

 

p_johanna=&johanna;                                 //tilldela pekaren adressen till en int

 

return 0;

 

}

 

För att returnera minnesadressen anropar du p_johanna.

För att returnera innehållet på denna minnesadress anropar du *p_johanna

 

 

Övning:

Skriv ut adressen till int johanna:

1: genom att använda variabelnamnet

2: genom att använda en pekare till johanna

 

 

Skriv ut värdet för int johanna:

1: genoma att använda variabelnamnet

2: genom att använda en pekare till johanna

 

Öka värdet för johanna med 1:

1: genoma att använda variabelnamnet

2: genom att använda en pekare till johanna

 

 

OBS. SE TILL ATT DU ALLTID ANGER VILKEN ADRESS EN PEKARE SKALL REFERERA TILL!

 

p_johanna=&johanna;